//package com.tinxing.bp.config;
//
//import com.alibaba.fastjson.JSONObject;
//import com.tinxing.bp.commons.utils.kit.HttpKit;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.annotation.AfterReturning;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Before;
//import org.aspectj.lang.annotation.Pointcut;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.core.annotation.Order;
//import org.springframework.stereotype.Component;
//
///**
// * @author yangxianghua  2020年10月29日 下午16:19:07 周四
// * @description 定义请求切面，请求来的时候，会把请求写入控制台和日志
// * <br /> 被拦截的请求将不会写入，例如权限不足或者异常处理
// */
//@Aspect
//@Component
//@Order(5)
//public class LogRecordAspect {
//    private long beforeTime;
//
//    private static final Logger logger = LoggerFactory.getLogger(LogRecordAspect.class);
//
//    /**
//     * 扫描路径
//     */
//    private final String pointcut = "execution(* com.tinxing.bp.modules.*.controller..*.*(..))";
//
//    /**
//     * 定义切点Pointcut
//     */
//    @Pointcut(value = pointcut)
//    public void excudeService() {
//    }
//
//    @Before("excudeService()")
//    public void doBefore(JoinPoint joinPoint) {
//        //开始计时
//        beforeTime = System.currentTimeMillis();
//    }
//
//    @AfterReturning(returning = "ret", pointcut = "excudeService()")
//    public void doAfterReturning(Object ret) {
//        JSONObject parse = (JSONObject) JSONObject.toJSON(ret);
//        Integer code = (Integer) parse.get("code");
//        StringBuilder info = HttpKit.getRequestRecordInfo(code);
//
//        info.append("[")
//                .append(System.currentTimeMillis() - beforeTime)
//                .append("ms]");
//        //处理完请求后，返回内容
//        logger.info(info.toString());
//    }
//
//}